---
title: Migration depuis Jekyll
description: Conseils pour migrer un projet Jekyll existant vers Astro
sidebar:
  label: Jekyll
type: migration
stub: true
framework: Jekyll
i18nReady: true
---

import PackageManagerTabs from '~/components/tabs/PackageManagerTabs.astro';
import { LinkCard, CardGrid } from '@astrojs/starlight/components';

[Jekyll](https://jekyllrb.com) est un générateur de sites statiques basé sur Ruby.

## Principales similitudes entre Jekyll et Astro

Jekyll et Astro partagent certaines similitudes qui vous aideront à migrer votre projet :

- Jekyll et Astro sont tous deux des générateurs de sites statiques, couramment utilisés pour créer des blogs.

- Jekyll et Astro vous permettent tous deux de rédiger votre contenu en Markdown et en HTML. Jekyll et Astro fournissent tous deux des propriétés YAML spéciales pour la mise en page et les brouillons non publiés. Vous pouvez continuer à utiliser vos fichiers Markdown existants dans Astro.

- Jekyll et Astro utilisent tous deux le [routage par fichier](/fr/guides/routing/) pour créer des pages à partir de vos articles de blog. Astro fournit un [répertoire spécial `src/pages/` pour toutes les pages et tous les articles](/fr/basics/project-structure/#srcpages). Jekyll utilise un répertoire spécial similaire appelé `_posts/` pour vos articles de blog en Markdown, mais les pages de votre site peuvent exister ailleurs. La création de nouveaux articles de blog devrait vous sembler familière.


## Principales différences entre Jekyll et Astro

Lorsque vous recréez votre site Jekyll avec Astro, vous remarquerez quelques différences importantes :

- Jekyll étant avant tout une plate-forme de blogs, plusieurs fonctionnalités de blog sont intégrées, mais vous devrez peut-être les créer vous-même dans Astro. Vous pouvez également choisir un [thème de modèle de démarrage de blog](https://astro.build/themes?search=&categories%5B%5D=blog) qui inclut ces fonctionnalités. Par exemple, Jekyll dispose d'une prise en charge intégrée pour les étiquettes et les catégories que vous trouverez dans plusieurs thèmes de blog pour Astro, mais qui n'est pas inclus dans un projet Astro minimal.

- Jekyll utilise les modèles Liquid pour les éléments de mise en page réutilisables et la création de modèles. Astro utilise des fichiers JSX [`.astro` pour les modèles et les composants](/fr/basics/astro-components/). Tout fichier `.astro` peut être un composant, une mise en page ou une page entière, et peut importer et afficher n'importe quel autre composant Astro. Vous pouvez également construire en utilisant [d'autres composants de framework d'interface utilisateur (par exemple React, Svelte, Vue, Solid)](/fr/guides/framework-components/) ainsi que du contenu ou des métadonnées provenant [d'autres fichiers de votre projet](/fr/guides/imports/), comme Markdown ou MDX.


## Passer de Jekyll à Astro

Pour convertir un blog Jekyll en Astro, commencez par notre modèle de démarrage de thème de blog, ou explorez d'autres thèmes de blog communautaires dans notre [vitrine de thèmes](https://astro.build/themes/).

Vous pouvez passer un argument `--template` à la commande `create astro` pour démarrer un nouveau projet Astro avec l'un de nos modèles de démarrage officiels. Vous pouvez aussi [démarrer un nouveau projet à partir de n'importe quel dépôt Astro existant sur GitHub](/fr/install-and-setup/#utiliser-un-thème-ou-un-modèle-de-démarrage).

  <PackageManagerTabs>
    <Fragment slot="npm">
    ```shell
    npm create astro@latest -- --template blog
    ```
    </Fragment>
    <Fragment slot="pnpm">
    ```shell
    pnpm create astro@latest --template blog
    ```
    </Fragment>
    <Fragment slot="yarn">
    ```shell
    yarn create astro --template blog
    ```
    </Fragment>
  </PackageManagerTabs>

Apportez vos fichiers Markdown existants comme contenu pour [créer des pages Markdown](/fr/guides/markdown-content/), en utilisant une [mise en page Astro dans Markdown](/fr/basics/layouts/#mises-en-page-markdown) au lieu d'un modèle Liquid.

Une grande partie du contenu de vos pages HTML existantes peut être convertie en [pages Astro](/fr/basics/astro-pages/), et vous pourrez également [utiliser des variables, des expressions de type JSX et des importations de composants directement dans vos modèles HTML](/fr/reference/astro-syntax/#expressions-type-jsx).

Astro ne possède pas de propriété `permalink` acceptant des valeurs par défaut. Vous devrez peut-être vous renseigner sur [le routage des pages d'Astro](/fr/guides/routing/) si vous souhaitez conserver votre structure d'URL existante. Vous pouvez également envisager de [définir des redirections chez un hébergeur comme Netlify](https://docs.netlify.com/routing/redirects/).

Pour convertir d'autres types de sites, tels qu'un site de portfolio ou de documentation, consultez les modèles de départ officiels sur [astro.new](https://astro.new). Vous trouverez un lien vers le dépôt GitHub de chaque projet, ainsi que des liens en un clic pour ouvrir un projet fonctionnel dans les environnements de développement en ligne IDX, StackBlitz, CodeSandbox et Gitpod.

## Ressources communautaires

<CardGrid>

  <LinkCard title="De Jekyll à Astro (Anglais)" href="https://jackcarey.co.uk/posts/astro-rewrite/"/>
  <LinkCard title="Au revoir Jekyll, bonjour Astro (Anglais)" href="https://kiranrao.in/blog/bye-jekyll-hello-astro/" />
  <LinkCard title="Retour vers le futur : la transition de notre blog technologique de Jekyll à Astro (Anglais)" href="https://alasco.tech/2023/09/06/migrating-to-astro"/>

</CardGrid>

:::note[Vous avez une ressource à partager ?]
Si vous avez trouvé (ou créé !) une vidéo ou un article de blog utile sur la conversion d'un site Jekyll en site Astro, [ajoutez-le à cette liste](https://github.com/withastro/docs/edit/main/src/content/docs/en/guides/migrate-to-astro/from-jekyll.mdx) !
:::
